import request from '@/config/axios'
import { List } from 'echarts'

// 供应商管理 VO
export interface SupplierInfoVO {
  id: number // id
  code: string // 编码
  name: string // 供应商名称
  supplierClassCode: string // 供应商分类编码
  range: string // 经营范围
  scale: string // 公司规模
  postal: string // 公司邮编
  phone: string // 公司电话
  fax: string // 公司传真
  website: string // 公司网站
  country: string // 国家地区
  timeZone: string // 所在时区
  city: string // 所在城市
  harbor: string // 港口
  addressPermanent: string // 常住地址
  addressMail: string // 邮寄地址
  sourceCode: string // 客户来源(关联表：busi_base_cust_source)
  industryCode: string // 行业分类(关联表：busi_base_cust_industry_class)
  priorityCode: string // 客户优先级(关联表：busi_base_cust_priority)
  starCode: string // 客户星级(关联表：busi_base_cust_star)
  stageCode: string // 客户阶段(关联表：busi_base_cust_stage)
  statusCode: string // 客户状态(关联表：busi_base_cust_status)
  remark: string // 备注
  listSupplierContactsSaveReqVO:[]
  creator: string // 创建者
  create_time: string // 创建时间
}

export const getProductListBySupplierId = (params) => {
  return request.get({
    url: '/business/prod-info/page2',
    params
  })
}


// 供应商管理 API
export const SupplierInfoApi = {
  // 查询供应商管理分页
  getSupplierInfoPage: async (params: any) => {
    return await request.get({ url: `/business/supplier-info/page2`, params })
  },

  // 查询供应商管理详情
  getSupplierInfo: async (id: number) => {
    try {
      const data = await request.get({ url: `/business/supplier-info/get?id=` + id });
      return {
        success: true,
        data: data
      };
    } catch (error) {
      return {
        success: false,
        error: error instanceof Error ? error.message : '获取供应商信息失败'
      };
    }
  },

  // 新增供应商管理
  createSupplierInfo: async (data: SupplierInfoVO) => {
    return await request.post({ url: `/business/supplier-info/create`, data })
  },

  // 修改供应商管理
  updateSupplierInfo: async (data: SupplierInfoVO) => {
    return await request.put({ url: `/business/supplier-info/update`, data })
  },

  // 删除供应商管理
  deleteSupplierInfo: async (id: number) => {
    return await request.delete({ url: `/business/supplier-info/delete?id=` + id })
  },

  // 导出供应商管理 Excel
  exportSupplierInfo: async (params) => {
    return await request.download({ url: `/business/supplier-info/export-excel`, params })
  },

  getClassList: async () => {
    return await request.download({ url: `/business/base-supplier-class/getList` })
  },
}
